package com.example.certificate.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.certificate.dto.OrderCarDTO;
import com.example.certificate.dto.UpProductDTO;
import com.example.certificate.entity.OrderCart;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.certificate.entity.User;
import com.example.certificate.utils.ResultEntity;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hao
 * @since 2022-03-10 12:25:41
 */
public interface OrderCartService extends IService<OrderCart> {
    /**
     * 加入购物车
     * @param carDTO
     */
    void addOrderCar(OrderCarDTO carDTO, User user);

    /**
     * 修改购物车数量
     * @param dto
     * @param user
     */
    void updateCar(OrderCarDTO dto,User user);

    /**
     * 使用分页查询用户购物车
     * @param
     * @return
     */
    Page<OrderCart> selOrderCar(Page<OrderCart> page, User user);

    /**
     * 用户删除购物车数据
     * @param dto
     * @param user
     */
    void delProduct(OrderCarDTO dto, User user);

    /**
     * 修改用户购物车数量
     * @param dto
     * @param user
     */
    void upCustomer(UpProductDTO dto, User user);

    /**
     * @Author Hao
     * @Description  查询去结算功能 订单详情
     * @Date 2023/9/25
     * @Param [ids, user]
     * @return com.example.certificate.utils.ResultEntity
     **/
    ResultEntity selOrderCarDetail(String ids);

}
